package daoBeans;
/* creo ke esta clase sobra*/
import vista.loginBean;
import daoBeans.conexionMySql;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.util.ArrayList;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import daoBeans.daoUsuario;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import modelo.Usuario;

@ManagedBean
@ApplicationScoped
public class empresaniBean {

    private String nombreEmpresa;
    private String nitEmpresa;
    private conexionMySql sql;
    private daoUsuario daou;
    private Statement st;
    Connection mysql;
    Usuario other = new Usuario();

    public void init(){        
        sql = new conexionMySql();   
        mysql = sql.comenzarDb();
        daou = new daoUsuario(mysql);
        /*
        try {
            st = mysql.createStatement();
            st.executeQuery("CREATE TABLE Empresa ("+
                            "Nombre VARCHAR(20),"+
                            "NIT VARCHAR(20),"+
                            "Tipo ENUM('Distribuidor', 'Subdistribuidor', 'Punto de Venta', 'Canal'),"+
                            "PRIMARY KEY(NIT),"+
                            "UNIQUE KEY(Nombre),"+
                            "UNIQUE KEY(NIT)"+
                            ");");
            
            st.executeQuery("create table Usuario ("+
                            "Nombre VARCHAR(20) NOT NULL," +
                            "ID VARCHAR(10)," +
                            "Rol ENUM('AdmDb', 'AdmD', 'UserD', 'AdmSd', 'UserSd', 'AdmC', 'UserC', 'AdmPv', 'UserPv', 'Otro'),"+
                            "Empresa VARCHAR(20) REFERENCES Empresa(NIT),"+
                            "Username VARCHAR(20),"+
                            "Password VARCHAR(20),"+
                            "PRIMARY KEY (ID),"+
                            "UNIQUE KEY(Username),"+
                            "UNIQUE KEY(Password)"+
                            ");");
            
            st.executeQuery("INSERT INTO empresa "+
                            "VALUES ('p1', '555444333222', 'Distribuidor');");
            
            st.executeQuery("INSERT INTO empresa "+
                            "VALUES ('p2', '011515141568', 'Subdistribuidor');");
            
            st.executeQuery("INSERT INTO empresa "+
                            "VALUES ('p3', '514444333222', 'Punto de Venta');");
            
            st.executeQuery("INSERT INTO empresa "+
                            "VALUES ('p4', '555654123222', 'Canal');");
            
            st.executeQuery("INSERT INTO usuario "+
                            "VALUES ('admin', '222555444', 'AdmDb', '555444333222', 'admin', 'admin');");
            
            st.executeQuery("INSERT INTO usuario "+
                            "VALUES ('Gustavo', '221455444', 'AdmDb', '555444333222', 'gariosp', 'adm1');");
            
            st.executeQuery("INSERT INTO usuario"+
                            "VALUES ('Daniel', '111555444', 'AdmD', '011515141568', 'mfcardenasr', 'adm2');");
            
            st.executeQuery("INSERT INTO usuario"+
                            "VALUES ('Camilo', '333555444', 'AdmSd', '555444333222', 'caarodriguezhe', 'adm3');");
            
            st.executeQuery("INSERT INTO usuario"+
                            "VALUES ('Manuel', '000555444', 'AdmC', '555444333222', 'dfmanriqueg', 'adm4');");
            
            st.executeQuery("INSERT INTO usuario "+
                            "VALUES ('Andres', '555555444', 'AdmPv', '555654123222', 'afpenuelav', 'adm5');"); 
            
        } catch (SQLException ex) {
            Logger.getLogger(loginBean.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        */
    }

    public String getNitEmpresa() {
        return nitEmpresa;
    }

    public void setNitEmpresa(String nitEmpresa) {
        this.nitEmpresa = nitEmpresa;
    }

    public String getNombreEmpresa() {
        return nombreEmpresa;
    }

    public void setNombreEmpresa(String nombreEmpresa) {
        this.nombreEmpresa = nombreEmpresa;
    }
    
    
    
    public void crearEmpresani() {
        try {
         st = mysql.createStatement();
         st.executeQuery("INSERT INTO empresa "+"VALUES ('Nivel inferior','"+getNitEmpresa()+"',"+"'"+getNombreEmpresa()+"');");
        }catch (SQLException ex) {
            Logger.getLogger(loginBean.class.getName()).log(Level.SEVERE, null, ex);
        }
  }
    
    public void buscarEmpresani() {
        try {
         st = mysql.createStatement();
         st.executeQuery("SELECT * FROM empresa "+"WHERE nit="+getNitEmpresa()+"OR nombre="+getNombreEmpresa());
        }catch (SQLException ex) {
            Logger.getLogger(loginBean.class.getName()).log(Level.SEVERE, null, ex);
        }
  }
    
  public void borrarEmpresani() {
        try {
         st = mysql.createStatement();
         st.executeQuery("DELETE FROM empresa "+"WHERE nit="+getNitEmpresa()+"OR nombre="+getNombreEmpresa());
        }catch (SQLException ex) {
            Logger.getLogger(loginBean.class.getName()).log(Level.SEVERE, null, ex);
        }
  }


    



}